package com.imooc.controller;

import com.imooc.pojo.bo.ShopcartBO;
import com.imooc.utils.IMOOCJSONResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Author : Kyle_Fu
 * @Date: 2020-07-19 15:13
 */
@Api(value = "购物车接口controller", tags = {"购物车接口相关api"})
@RequestMapping("shopcart")
@RestController
public class ShopcatController {

            final static Logger logger = LoggerFactory.getLogger(ShopcatController.class);

            @ApiOperation(value = "添加商品到购物车", notes = "添加商品到购物车" ,httpMethod = "POST")
            @PostMapping("add")
            public IMOOCJSONResult add(
                    @RequestParam String userId,
                    @RequestBody ShopcartBO shopcartBO,
                    HttpServletRequest request,
                    HttpServletResponse response
            ){

                if (StringUtils.isBlank(userId)){
                    return IMOOCJSONResult.errorMsg("");
                }

                System.out.println(shopcartBO);
                //TODO 前端用户在登陆的情况下,添加商品到购物车,会同时在后端同步购物车到redis缓存

                return IMOOCJSONResult.ok();
            }

            @ApiOperation(value = "从购物车中删除商品", notes = "从购物车中删除商品" ,httpMethod = "POST")
            @PostMapping("del")
            public IMOOCJSONResult del(
                    @RequestParam String userId,
                    @RequestParam String itemSpecId,
                    HttpServletRequest request,
                    HttpServletResponse response
            ){

                if (StringUtils.isBlank(userId) || StringUtils.isBlank(itemSpecId)){
                    return IMOOCJSONResult.errorMsg("参数不能为空");
                }

                // TODO 用户在页面删除购物车中的商品数据,如果此时用户已经登陆,则需要同步删除后端购物车中的商品

                return IMOOCJSONResult.ok();
            }
}
